Agregando correctamente "backends" a 'company-backends
Hace un par de días estaba realizando unas mejoras en mi configuración de Emacs y decidí que cualquier cambio en la variable company-backends
sería en una copia buffer local, lo cual resultaría en una variable global limpia de backends que no sirven para nada en otros modos mayores.
El primer paso fue obviamente establecer los valores por default de la variable company-backends
conteniendo sólo aquellos backends que fueran de utilidad sin importar en qué modo mayor estuviera editando texto.
(setf company-backends '((company-files company-keywords company-capf company-yasnippet) (company-abbrev company-dabbrev))) ;; Nunca he usado Abbrev
Ahora, cuando este hackeando mi configuración integrando algún modo mayor nuevo o mejorando los ya integrados a Emacs, y si el modo mayor ofrece auto-completado por medio de company-mode ese backend se agregaran a una copia buffer local de la variable company-backends
.
;; Para `python-mode' (add-hook 'python-mode-hook (lambda () (add-to-list (make-local-variable 'company-backends) 'company-anaconda))) ;; Para `go-mode' (add-hook 'go-mode-hook (lambda () (add-to-list (make-local-variable 'company-backends) 'company-go))) ;; para `js2-mode' y `inferior-js-mode-hook' (JavaScript) (dolist (hook '(js2-mode-hook inferior-js-mode-hook)) (add-hook hook (lambda () (add-to-list (make-local-variable 'company-backends) 'company-tern))))
¿Existe alguna mejora en rendimiento perceptible con company-mode menos abarrotada de backends?
No tengo ni la menor idea.